home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue35 / clinic / OutLookU.pas < prev    next >
Pascal/Delphi Source File  |  1998-03-27  |  2KB  |  80 lines

  1. unit OutLookU;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     edtFirstName: TEdit;
  13.     edtLastName: TEdit;
  14.     edtBusTelNo: TEdit;
  15.     Label1: TLabel;
  16.     Label2: TLabel;
  17.     Label3: TLabel;
  18.     Button2: TButton;
  19.     procedure Button1Click(Sender: TObject);
  20.     procedure Button2Click(Sender: TObject);
  21.   private
  22.     { Private declarations }
  23.   public
  24.     { Public declarations }
  25.   end;
  26.  
  27. var
  28.   Form1: TForm1;
  29.  
  30. implementation
  31.  
  32. {$R *.DFM}
  33.  
  34. {$ifndef Ver90}
  35. uses
  36.   ComObj, Outlook_TLB;
  37. {$else}
  38. uses
  39.   OleAuto;
  40.  
  41. const
  42.   olContactItem = 2;
  43. {$endif}
  44.  
  45. procedure TForm1.Button1Click(Sender: TObject);
  46. var
  47.   OutLook, Contact: Variant;
  48. begin
  49.   OutLook := CreateOleObject('OutLook.Application');
  50.   Contact := OutLook.CreateItem(olContactItem);
  51.   Contact.LastName := edtLastName.Text;
  52.   Contact.FirstName := edtFirstName.Text;
  53.   Contact.BusinessTelephoneNumber := edtBusTelNo.Text;
  54.   Contact.Save;
  55.   Contact.Display(True);
  56.   //Dubious COM objects don't close themselves
  57.   //OutLook.Quit
  58. end;
  59.  
  60. procedure TForm1.Button2Click(Sender: TObject);
  61. var
  62.   OutLook: Application;
  63.   Contact: ContactItem;
  64.   AlreadyRunning: Boolean;
  65. begin
  66.   AlreadyRunning := GetModuleHandle('OUTLOOK.EXE') <> 0;
  67.   OutLook := CoApplication.Create;
  68.   Contact := OutLook.CreateItem(olContactItem) as ContactItem;
  69.   Contact.LastName := edtLastName.Text;
  70.   Contact.FirstName := edtFirstName.Text;
  71.   Contact.BusinessTelephoneNumber := edtBusTelNo.Text;
  72.   Contact.Save;
  73.   Contact.Display(True);
  74.   //Dubious COM objects don't close themselves
  75.   if not AlreadyRunning then
  76.     OutLook.Quit
  77. end;
  78.  
  79. end.
  80.